package vip.xiaonuo.supplier.modular.base.carrier.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import vip.xiaonuo.common.pojo.CommonEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 承运人实体
 *
 * @author Mr.wu
 * @date  2025/03/15 19:09
 **/
@Getter
@Setter
@TableName("SUPPLIER_CARRIER")
public class SupplierCarrier extends CommonEntity {

    /** 承运人ID */
    @TableId
    @Schema(description = "承运人ID")
    private String id;

    /** 承运人编码 */
    @Schema(description = "承运人编码")
    private String carrierCode;

    /** 承运人名称 */
    @Schema(description = "承运人名称")
    private String carrierName;

    /** 负责人 */
    @Schema(description = "负责人")
    private String carrierPerson;

    /** 联系人 */
    @Schema(description = "联系人")
    private String carrierContact;

    /** 联系电话 */
    @Schema(description = "联系电话")
    private String carrierTel;

    /** 邮箱 */
    @Schema(description = "邮箱")
    private String carrierEmail;

    /** 传真 */
    @Schema(description = "传真")
    private String carrierFax;

    /** 开户行 */
    @Schema(description = "开户行")
    private String carrierBank;

    /** 银行账号 */
    @Schema(description = "银行账号")
    private String carrierBankcode;

    /** 地址 */
    @Schema(description = "地址")
    private String carrierAddress;

    /** 应付运费 */
    @Schema(description = "应付运费")
    private BigDecimal carrierAccountsPayable;

    /** 备注 */
    @Schema(description = "备注")
    private String carrierRemark;

    /** 拼音码 */
    @Schema(description = "拼音码")
    private String carrierPinyin;

    /** 附件 */
    @Schema(description = "附件")
    private String carrierAttachment;

    /** 扩展信息 */
    @Schema(description = "扩展信息")
    private String extJson;

    /** 删除标志 */
    @Schema(description = "删除标志")
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private String deleteFlag;

    /** 创建时间 */
    @Schema(description = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 创建用户 */
    @Schema(description = "创建用户")
    @TableField(fill = FieldFill.INSERT)
    private String createUser;

    /** 修改时间 */
    @Schema(description = "修改时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    /** 修改用户 */
    @Schema(description = "修改用户")
    @TableField(fill = FieldFill.UPDATE)
    private String updateUser;

    /** 数据归属 */
    @Schema(description = "数据归属")
    private String companyId;
}
